The present invention relates to digital and print-on-demand printing systems; and more particularly, to a high-speed printer controller system that is configured to control a multitude of print engines simultaneously, and is configured to synchronize the deposition of image pixels and to xe2x80x9clock-stepxe2x80x9d the transport mechanisms on the multitude of print engines to a single clock source, thereby reducing beat frequency and other errors between the print engines.
An ink jet printing system is an example of a printing system that is notorious for having registration problems and beat frequency errors between various print engines (ink jet printheads) controlled by at least one printer controller. Ink jet printing is a non-impact print method which is based upon controlling the behavior of a fluid ink stream using pressure, ultrasonic vibration and electrostatic forces. A typical ink jet printhead will include a multitude of nozzle orifices, aligned in an array, for emitting a corresponding multitude of fluid ink streams, commonly referred to as an array of ink. Pressure is created by a push rod to force the ink from the ink chamber and through an array of nozzle orifices.
A high frequency ultrasonic vibration (referred to as a xe2x80x9cmodulation signalxe2x80x9d) is applied to the push rod and, in turn, to the ink stored in an ink chamber within the ink jet printhead, to establish a standing wave pattern within the ink. To create the modulation signal, the typical ink jet print head will utilize an internal clock source which is sent to a piezoelectric crystal, typically mounted within the push rod assembly. The piezoelectric crystal will thus vibrate at the frequency of the clock source. The vibrational waves will conduct into the ink chamber, causing the standing wave pattern within the ink. This standing wave pattern in the ink causes the ink to break into individual droplets, corresponding to individual pixels of the printed image, when the ink emerges from the nozzle orifices. The resulting array of ink droplet streams is directed (typically downward) towards the substrate to receive the printed image.
A multitude of electrodes are positioned adjacent to each of the ink droplet streams, near the nozzle orifices. The electrodes, controlled by the ink jet printhead, apply a voltage to the droplets which are not intended to contact the substrate. Below the electrodes, the droplet streams pass through a high voltage field which forces the charged droplets to be deflected into a gutter and which allows the uncharged droplets to pass through the field and onto the substrate, thus forming the printed image.
The nozzle orifices are typically arranged on the ink jet printhead in a row, where each nozzle orifice corresponds to one column of image pixels on the final printed image. The printed image is formed by emitting successive horizontal lines of the ink droplets (referred to as xe2x80x9cstrokesxe2x80x9d) applied to the continuously moving substrate (moving in the vertical direction). Each stroke forms one row of pixels on the final printed image. The electrodes are controlled for each stroke by the ink jet printhead in accordance with the bitmap data sent to the print head by the raster printer controller.
In low-speed printing operations, where the substrate is moved at low speeds under the ink jet printheads, the width of the row of nozzle orifices is not a concern. However, in high-speed printing operations, where the substrate is moved at high speeds under the ink jet printheads (i.e., to print 1000 feet per minute), the size of the row of nozzle orifices becomes a real concern because of the time it takes for the vibrational waves in the chamber to travel from the push rod to the far ends of the printhead. Accordingly, to be able to print detailed, full size images in high speed ink jet print operations, it is necessary to utilize a plurality of the ink jet print heads, where each print head is responsible to print one vertical portion or xe2x80x9cswathxe2x80x9d of the image. One xe2x80x9cswathxe2x80x9d of an image corresponds to the number of vertical columns of pixels that one ink jet printhead will be able to print. Typically, the width of each swath can range from approximately 20 to 1024 pixels (i.e., the swath would comprise 20 to 1024 columns of pixels), however the range can vary depending upon the application.
Because the physical width of the ink jet printhead exceeds the width of the swath printed by the ink jet printhead, the multiple ink jet printheads cannot be aligned side by side with respect to each other without experiencing noticeable gaps between the swaths. Therefore, to get a continuous image across the width of the entire printed page, with no noticeable gaps between the swaths, it is necessary to stagger the ink jet print heads vertically with respect to the substrate such that they do not interfere with each other. It is also necessary to simultaneously control the multiple ink jet printheads such that their respective swaths are vertically and horizontally aligned with respect to the substrate. The process of vertically and horizontally aligning these swaths on the substrate to form one image is commonly referred to as xe2x80x9cstitchingxe2x80x9d.
Stitching the multiple ink jet swaths down to the pixel level in order to obtain sub pixel resolution is extremely challenging. Mechanical alignment is the most common method of aligning the printheads to achieve stitching of the swaths. Utilizing micrometer adjustment and measurement devices on the x and y axes, the position of the printheads can be adjusted to approach sub pixel resolution. However, such alignment is only useful for a particular ink viscosity, temperature of the environment, humidity of the environment and print speed. Once any one of these variables changes, i.e., the viscosity of the ink changes, the pixel resolution will again become misaligned. Furthermore, even if the printheads are perfectly aligned, the piezoelectric crystals in each printhead will be driven at a slightly different frequency, thus causing beat frequency drift errors between the printheads which eventually leads to very visible alignment errors between the pixels of the different swaths.
Electronic alignment methods and mechanisms, while more flexible than mechanical alignment systems, also cannot achieve sub pixel resolution because of the piezo beat frequency drift errors, which will eventually cause drift between the printheads, independent of the mechanical and/or electronic methods and systems used for stitching the swaths together.
The problem of beat frequency drift errors is not limited to ink jet engines. As will be appreciated by those of ordinary skill in the art, similar errors may occur in other types of print engines that are linked together to print upon a single substrate or web. For example, magnetographic engines utilize magnetic recording heads to create a latent magnetic image on the surface of a revolving hard metal drum, which is then exposed to magnetic toner particles and transferred/fused to paper. The modulation frequency of the magnetic recording heads is controlled by a clock source, which may be slightly different on each of the print engines. Therefore, if a plurality of the magnetographic print engines are used in series to print a single image, the slight differences in the magnetic recording heads"" clock sources may cause slight (but perceptible) registration errors in the printed pixels of the image. Similar beat frequency errors may occur in LED engines, Ion deposition engines, laser engines, magnetographic, xerographic engines and the like.
Accordingly, a need exists for a system and method for simultaneously controlling the plurality of staggered ink jet printheads such that stitching between the swaths generated by the ink jet printheads can be easily accomplished electronically, regardless of the ink viscosity, print speed, temperature and humidity. Furthermore, a need exists for a system and method for synchronizing the piezo clock sources on each of the ink jet printheads to each other such that the stitching can be accomplished down to sub pixel levels without experiencing beat frequency drift errors between the pixel swaths. Furthermore, a need exists for a system and method for synchronizing clock sources controlling the deposition frequency of image pixels on print engines connected (in series, in parallel or otherwise) so as to eliminate beat frequency errors between the print engines. Finally, a need exists for a system and method for synchronizing the drive mechanisms of print engines controlled by a single controller so as to xe2x80x9clock-stepxe2x80x9d the transport mechanisms of the printers.
The present invention provides a system and method for simultaneously controlling a plurality of print engines connected (in series, in parallel, or otherwise) that facilitates electronic stitching between the print engines. More specifically, the present invention provides a system and method for synchronizing the pixel deposition frequencies between the various inter-connected print engines so as to eliminate beat frequency errors between the print engines. The present invention also provides a system and method for synchronizing the transport mechanisms of the inter-connected print engines so as to reduce overall errors and failures of the printing system.
In a specific embodiment, the present invention provides a system and method for simultaneously controlling a multitude of continuous-flow ink jet printheads which facilitates the electronic stitching between the ink jet printheads; and furthermore, the present invention provides a system and method for synchronizing the piezo clock sources on each of the ink jet printheads to each other such that the electronic stitching can be accomplished down to the pixel levels.
The method for synchronizing the pixel deposition frequencies between a plurality of print engines comprises the steps of: (a) coupling the plurality of print engines together with at least one printer controller, (b) embedding a first clock signal in data; (c) transmitting the data to the print engines; (d) each of the print engines receiving the data; (e) each of the print engines deriving a pixel deposition clock signal from the data received, which is directly proportional to the first clock signal; and (f) each of the print engines driving its corresponding pixel deposition mechanism with the pixel deposition clock signal. Accordingly, all of the pixel deposition clock sources will be synchronized in frequency with each other, eliminating beat frequency drift errors between the print engines. The pixel deposition mechanism, as apparent to those of ordinary skill in the art, includes the LED switching device for LED engines, the ion generating cartridge for Ion deposition engines, the magnetic recording heads for magnetographic engines, the piezoelectric crystal coupled to the ink-well push rod for ink jet printheads, and the like.
Preferably, the print engines and controller are connected together in a daisy-chain configuration and the method also includes the steps of: (i) determining the time it will take for the data to propagate to each of the print engines; and (ii) adjusting the phase of the second clock signal to reflect the propagation measurement. Accordingly, all of the pixel deposition clock signals will also be synchronized in phase as well as frequency to each other.
The above method is accomplished by operating a plurality of print engines with a high-speed raster printer controller. The type of print engine is not critical and a plurality of different print engine technologies can be used. Each print engine includes a customized communication circuit, which in the preferred embodiment is a separate circuit board, hereinafter referred to as a xe2x80x9ctarget adapter boardxe2x80x9d (xe2x80x9cTABxe2x80x9d). The TAB provides a direct interface between the print engine electronics and the controller. The controller and each TAB includes a serial data input port and a serial data output port. The controller is attached to the plurality of TABs in a daisy-chained ring configuration, such that the controller will transmit commands and data to the first TAB on the daisy-chain, and the commands and data will flow in the same direction along the daisy-chain to the rest of the TABs, and will eventually flow back to the controller. Furthermore, the controller is adapted to transmit rasterized bitmap image data to the TABs, and in turn to the print engines, in an on-demand manner. The daisy-chained serial communication ring configuration of the controller and the plurality of TABs is hereinafter referred to as xe2x80x9cthe ring.xe2x80x9d
The ring configuration allows all of the TABs to see all of the data all of the time. This also provides a clean mechanism for the raster printer controller to receive status from all of the print engines with minimal cabling requirements. Furthermore, use of fiber optic links in the ring provides high bandwidth data transfer capabilities, excellent electrical isolation and immunity from excessive high voltages associated with print engine electronics.
The raster printer controller has a multiplexed command/data-stream protocol structure at its fiber optic interface in which the controller transmits a command followed by the associated data. The controller initiates all commands, and manages the allocation of fiber optic band-width to receive all print engine status. Each TAB is adapted to listen for commands addressed to it, and responds appropriately; and further, the TAB never responds unless commanded by the controller. Nevertheless, each TAB must retransmit the entire command/data-stream it receives on its fiber optic input port back to its fiber optic output port, and in turn, to the next TAB on the ring. This allows all of the TABs to see all of the controller commands and data, all of the time.
Each TAB includes a fiber optic receiver/decoder, a fiber optic encoder/transmitter, a standard discrete output bus, a standard discrete input bus, a print engine instruction register, print engine status register, a bitmap data memory storage, a stroke rate counter and associated stroke rate count preload register, a high-speed fiber optic message processing circuit, and an on-board CPU. Therefore, each TAB essentially includes all the necessary print engine components.
The CPU and message processing circuit are adapted to manage the incoming and outgoing commands, to manage the TAB""s hardware, and to provide an interface to the print engine electronics. The message processing circuit monitors the fiber optic input and executes the commands transmitted by the raster printer controller if the commands are addressed to it. The message processing circuit also continuously retransmits the commands/data-stream back to the fiber optic encoder/transmitter, supports the general purpose discrete output bus and instruction register in response to the commands, reads the general purpose discrete input bus and print engine status register which can be incorporated into messages sent directly to the raster printer controller as status, and also manages the data update of the bitmap data memory storage when commanded by the raster printer controller.
The raster printer controller""s multiplexed command/data protocol scheme allows the raster printer controller to transmit bitmap data to the print engines in any order and at any time, thus providing print-on-demand capabilities to the print engines; allows the controller to embed a xe2x80x9cPrint Triggerxe2x80x9d command within the command/data stream at any time thus providing real-time print trigger generation to the print engines; and allows the controller to embed a stroke rate signal within the command/data stream indicative of the web velocity and/or acceleration.
The command/data stream is transmitted over the fiber optic ring utilizing a self-clocking data transmission code such as 8B/10B code. The fiber optic encoder on the raster printer controller embeds a clock signal into the command/data stream by encoding the raw data. This allows the fiber optic decoders on each of the TAB boards to extract the embedded digital clock signal from the encoded data and to decode the command/data stream back into its raw data.
The extracted digital clock is used by each TAB to generate the pixel deposition clock signal for driving the pixel deposition mechanism on its corresponding print engine. Because each extracted clock signal will have the exact frequency (directly proportional to the clock signal embedded by the raster printer controller), each pixel deposition clock signal generated from the external clock source will also have the exact frequency.
Preferably, the pixel deposition clock signal is generated as follows: The extracted digital clock drives a free running counter whose count output is sent to a memory device which acts as a lookup table. The lookup table includes a voltage amplitude value for every count input. The voltage amplitude values in the lookup table each correspond to a particular voltage amplitude level in one period of the pixel deposition clock signal""s sinusoidal wave, square wave and the like. Thus, the memory device will output the particular voltage amplitude value from the lookup table, depending upon the count input received from the counter; therefore, for each cycle through the counter, the voltage amplitude values corresponding to one period of the pixel deposition clock signal""s output will be output from the lookup table. The voltage amplitude value is sent to a digital-to-analog converter, the amplified output of this digital-analog converter is the analog clock source for the pixel deposition clock signal.
To reset the counters, the raster printer controller will broadcast a CLOCK RESET command to the first TAB on the ring. The first TAB will receive this command and restart its counter to start generating its pixel deposition clock signal. As discussed above, the first TAB will also pass this command to the next TAB on the ring; which will restart its counter in response to the command and will in turn pass the command to the next TAB on the ring. This is repeated until the command is passed back to the raster printer controller.
Because it will take time for the a CLOCK RESET command to propagate to each TAB on the fiber optic ring, the present invention includes a method to assure that all the pixel deposition clock signals are synchronized in phase as well as frequency. Thus, each counter includes a preload input coupled to a phase-shift preload register. Each phase-shift preload register will be initialized by the raster printer controller during the boot-up process to a count pre-set value which corresponds to the time it takes for the CLOCK RESET command to reach the particular TAB. Thus, even though each pixel deposition clock signal will be started at progressively different instances, each phase-shift preload register is set to a particular count value to assure that the output voltage level of the piezoelectric clock source of a given TAB upon receiving the CLOCK RESET command is at the same voltage amplitude levels of all pixel deposition clock signal started prior to the present one.
Each pixel deposition clock signal is therefore locked in both phase and frequency to each other.
In a specific embodiment of the present invention, a method for synchronizing the plurality of piezoelectric crystals on a corresponding plurality of ink jet printheads comprises the steps of: (a) coupling the plurality of printheads together with a printer controller, (b) embedding a first clock signal in data; (c) transmitting the data to the printheads; (d) each of the printheads receiving the data; (e) each of the printheads deriving a second clock signal from the data received, which is directly proportional to the first clock signal; and (e each of the printheads driving its corresponding piezoelectric crystal with the second clock signal. Accordingly, all of the piezoelectric crystal clock sources will be synchronized in frequency with each other, eliminating beat frequency drift errors between the printheads.
The method for synchronizing or xe2x80x9clock-steppingxe2x80x9d a plurality of print engines comprises the steps of: (a) coupling the plurality of print engines together with at least one printer controller, (b) embedding a first clock signal in data; (c) transmitting the data to the print engines; (d) each of the print engines receiving the data; (e) each of the print engines deriving a drive clock from the data received, which is directly proportional to the first clock signal; and (f) each of the print engines driving its corresponding drive mechanism with the drive clock.
Accordingly, it is an object of the present invention to provide print system with multiple print engines which can dispatch rasterized bitmap data to the print engines in an on-demand manner; which can transmit print trigger and stroke rate information to the print engines at any time; which synchronizes the pixel deposition clock signals for each print engine to a single clock source; which synchronizes the pixel deposition clock signals for each print engine in both phase and frequency; and which provides a system which facilitates electronic stitching of the print engines down to the pixel level. These and other objects will be apparent from the following description, the accompanying drawings and the appended claims.